
The demo datasets are defined as “People Receiving
Homeless Response Services by Age, Race, Ethnicity, and Gender”.
This data set gives annual statistics by age group, race, ethnicity, and gender on the number of people who have benefited from homelessness assistance services.
The Homelessness Data Integration System (HDIS), an extensive data repository that compiles and examines information from each of California’s 44 Continuums of Care (CoC), is the source of this information. Every Community of Communities (CoC) collects and disseminates information on the people it serves via a range of programs, such as those aimed at ending homelessness, offering outreach services to the homeless, assisting with permanent housing solutions, and other projects in line with California’s Housing First objectives.
CALENDAR_YEAR: Calendar Year
LOCATION: Location
ETHNICITY: Ethnicity
AGE_GROUP_PUBLIC: Age Group
GENDER: Gender
RACE: Race
EXPERIENCING_HOMELESSNESS: Number of people receiving
homelessness services
First, we converted all the variable names to lowercase.
Then we removed the unneeded variable “location_id”, and removed the null value of “experiencing_homelessness”.
Finally, we batch export and import the four cleaned csv files into datasets.
# import data
library(tidyverse)
age_demo = read.csv("./original data/demo/age_demo.csv")
ethnicity_demo = read.csv("./original data/demo/ethnicity_demo.csv")
gender_demo = read.csv("./original data/demo/gender_demo.csv")
race_demo = read.csv("./original data/demo/race_demo.csv")
head(age_demo)
## CALENDAR_YEAR LOCATION_ID LOCATION AGE_GROUP_PUBLIC
## 1 2017 All California 18-24
## 2 2017 All California 25-34
## 3 2017 All California 35-44
## 4 2017 All California 45-54
## 5 2017 All California 55-64
## 6 2017 All California 65+
## EXPERIENCING_HOMELESSNESS
## 1 15984
## 2 28654
## 3 25831
## 4 27651
## 5 23396
## 6 7111
head(ethnicity_demo)
## CALENDAR_YEAR LOCATION_ID LOCATION ETHNICITY
## 1 2017 All California Hispanic/Latinx
## 2 2017 All California Not Hispanic/Latinx
## 3 2017 All California Unknown
## 4 2017 CA-500 Santa Clara County CoC Hispanic/Latinx
## 5 2017 CA-500 Santa Clara County CoC Not Hispanic/Latinx
## 6 2017 CA-500 Santa Clara County CoC Unknown
## EXPERIENCING_HOMELESSNESS
## 1 60962
## 2 119153
## 3 3791
## 4 5034
## 5 5074
## 6 57
head(gender_demo)
## CALENDAR_YEAR LOCATION_ID LOCATION GENDER
## 1 2017 All California Female
## 2 2017 All California Male
## 3 2017 All California Non-Singular Gender
## 4 2017 All California Questioning Gender
## 5 2017 All California Transgender
## 6 2017 All California Unknown
## EXPERIENCING_HOMELESSNESS
## 1 79670
## 2 101901
## 3 148
## 4 *
## 5 676
## 6 1505
head(race_demo)
## CALENDAR_YEAR LOCATION_ID LOCATION
## 1 2017 All California
## 2 2017 All California
## 3 2017 All California
## 4 2017 All California
## 5 2017 All California
## 6 2017 All California
## RACE EXPERIENCING_HOMELESSNESS
## 1 American Indian, Alaska Native, or Indigenous 5638
## 2 Asian or Asian American 3005
## 3 Black, African American, or African 57665
## 4 Multiple Races 9048
## 5 Native Hawaiian or Pacific Islander 2555
## 6 Unknown 6391
# Clean data
library(readr)
folder_path <- "./original data/demo/"
csv_files <- list.files(folder_path, pattern = ".csv")
# define a function to process a CSV file
clean_csv <- function(input_file, output_file) {
data <- read.csv(input_file)
data_cleaned <- data |>
filter(EXPERIENCING_HOMELESSNESS != "*") |>
select(-LOCATION_ID) |>
janitor::clean_names()
write.csv(data_cleaned, file = output_file, row.names = FALSE)
#return(data_cleaned)
}
output_folder <- "./processed data/demo/"
# process CSV files using the lapply function
cleaned_data_list <- lapply(csv_files, function(file) {
input_file <- paste0(folder_path, file)
output_file <- paste0(output_folder, "cleaned_", file)
clean_csv(input_file, output_file)
})
# import clean data
age_clean = read.csv("./processed data/demo/cleaned_age_demo.csv")
ethnicity_clean = read.csv("./processed data/demo/cleaned_ethnicity_demo.csv")
gender_clean = read.csv("./processed data/demo/cleaned_gender_demo.csv")
race_clean = read.csv("./processed data/demo/cleaned_race_demo.csv")
To begin with the analyzing process, we first summarize the counts and percentages of Californian homeless people from 2017 to 2023, stratified by age, ethnicity, gender, race, separately for each of the four datasets:
Dataset categorized by age:
age_clean_for_summary =
age_clean |>
select(-location)
age_clean_for_summary |>
group_by(age_group_public) |>
summarize(Homelessness = sum(experiencing_homelessness)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| age_group_public | Homelessness | Percent |
|---|---|---|
| 18-24 | 281727 | 7.886308 |
| 25-34 | 576530 | 16.138649 |
| 35-44 | 566387 | 15.854719 |
| 45-54 | 524878 | 14.692769 |
| 55-64 | 493348 | 13.810158 |
| 65+ | 189685 | 5.309801 |
| Under 18 | 813273 | 22.765732 |
| Unknown | 126528 | 3.541864 |
Dataset categorized by ethnicity:
ethnicity_clean_for_summary =
ethnicity_clean |>
select(-location)
ethnicity_clean_for_summary |>
group_by(calendar_year) |>
summarize(Homelessness = sum(experiencing_homelessness)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| calendar_year | Homelessness | Percent |
|---|---|---|
| 2017 | 373281 | 10.63152 |
| 2018 | 434563 | 12.37691 |
| 2019 | 486049 | 13.84330 |
| 2020 | 514756 | 14.66091 |
| 2021 | 547527 | 15.59427 |
| 2022 | 640070 | 18.23001 |
| 2023 | 514832 | 14.66307 |
ethnicity_clean_for_summary |>
group_by(ethnicity) |>
summarize(Homelessness = sum(experiencing_homelessness)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| ethnicity | Homelessness | Percent |
|---|---|---|
| Hispanic/Latinx | 1224078 | 34.863310 |
| Not Hispanic/Latinx | 2187297 | 62.297021 |
| Unknown | 99703 | 2.839669 |
Dataset categorized by gender:
gender_clean_for_summary =
gender_clean |>
select(-location)
gender_clean_for_summary |>
group_by(calendar_year) |>
summarize(Homelessness = sum(experiencing_homelessness)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| calendar_year | Homelessness | Percent |
|---|---|---|
| 2017 | 373071 | 10.63095 |
| 2018 | 434374 | 12.37783 |
| 2019 | 485807 | 13.84346 |
| 2020 | 514506 | 14.66126 |
| 2021 | 547260 | 15.59461 |
| 2022 | 639749 | 18.23015 |
| 2023 | 514523 | 14.66174 |
gender_clean_for_summary |>
group_by(gender) |>
summarize(Homelessness = sum(experiencing_homelessness)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| gender | Homelessness | Percent |
|---|---|---|
| Female | 1479598 | 42.1623177 |
| Male | 1969207 | 56.1141143 |
| Non-Singular Gender | 6170 | 0.1758190 |
| Questioning Gender | 161 | 0.0045878 |
| Transgender | 15788 | 0.4498916 |
| Unknown | 38366 | 1.0932696 |
Dataset categorized by race:
race_clean_for_summary =
race_clean |>
select(-location)
race_clean_for_summary |>
group_by(calendar_year) |>
summarize(Homelessness = sum(experiencing_homelessness)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| calendar_year | Homelessness | Percent |
|---|---|---|
| 2017 | 373049 | 10.62857 |
| 2018 | 434372 | 12.37573 |
| 2019 | 485876 | 13.84314 |
| 2020 | 514587 | 14.66115 |
| 2021 | 547394 | 15.59585 |
| 2022 | 639935 | 18.23245 |
| 2023 | 514656 | 14.66311 |
race_clean_for_summary |>
group_by(race) |>
summarize(Homelessness = sum(experiencing_homelessness)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| race | Homelessness | Percent |
|---|---|---|
| American Indian, Alaska Native, or Indigenous | 108770 | 3.098976 |
| Asian or Asian American | 62782 | 1.788728 |
| Black, African American, or African | 1026875 | 29.256790 |
| Multiple Races | 153850 | 4.383355 |
| Native Hawaiian or Pacific Islander | 44051 | 1.255061 |
| Unknown | 180896 | 5.153924 |
| White | 1932645 | 55.063166 |
The data visualization serves as a foundation for a more in-depth investigation by providing us with a preliminary understanding of the relationship between the variables (age, gender, ethnicity, and race) and the number of homeless people and how that relationship has evolved over time.
# line plot for "Total Homelessness by Year and Age Group"
library(plotly)
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
age_plot <- age_clean |>
select(-location) |>
group_by(calendar_year,age_group_public) |>
summarise(total_homelessness = sum(experiencing_homelessness))
## `summarise()` has grouped output by 'calendar_year'. You can override using the
## `.groups` argument.
age_plot |>
mutate(text_label = str_c("Year: ", calendar_year, "\nAge Group: ", age_group_public)) |>
plot_ly(x = ~calendar_year, y = ~total_homelessness, type = "scatter", mode = "line", color = ~age_group_public, colors = "viridis", text = ~text_label, alpha = 0.8) |>
layout(title = "Total Homelessness by Year and Age Group")
The above graph shows that the majority of homeless individuals who have received assistance are under the age of 18. The proportion of homeless people who have received assistance overall is higher among lower age groups. So we should pay attention to younger group to give them broader help. The overall trend of the homeless population receiving assistance is rising between 2021 and 2022, which is probably because of the potential effects of the COVID-19 pandemic.
# bar chart for "Total Homelessness by Year and ethnicity"
ethnicity_plot <- ethnicity_clean |>
select(-location) |>
group_by(calendar_year,ethnicity) |>
summarise(total_homelessness = sum(experiencing_homelessness))
## `summarise()` has grouped output by 'calendar_year'. You can override using the
## `.groups` argument.
ethnicity_plot |>
mutate(text_label = str_c("Year: ", calendar_year, "\nEthnicity: ", ethnicity)) |>
plot_ly(x = ~calendar_year, y = ~total_homelessness, type = "bar", color = ~ethnicity, colors = "viridis", text = ~text_label, alpha = 0.8) |>
layout(
title = "Total Homelessness by Year and ethnicity")
From the bar chart above we can see that people whose race are Hispanic/Latinx make up a large percentage of people receiving homeless response services, approximately 35%. However, based on the 2020 Census data, the Latino population in the United States totals 62.1 million, constituting 18.9% of the overall population. This demographic group stands as the second-largest ethnic or racial category in the country.So we need to focus on the vulnerable groups in ethnicity based on the problem of homelessness.
# bar chart for "Total Homelessness by Year and gender"
gender_plot <- gender_clean |>
select(-location) |>
group_by(calendar_year,gender) |>
summarise(total_homelessness = sum(experiencing_homelessness))
## `summarise()` has grouped output by 'calendar_year'. You can override using the
## `.groups` argument.
gender_plot |>
mutate(text_label = str_c("Year: ", calendar_year, "\nGender: ", gender)) |>
plot_ly(x = ~calendar_year, y = ~total_homelessness, type = "bar", color = ~gender, colors = "viridis", text = ~text_label, alpha = 0.8) |>
layout(
title = "Total Homelessness by Year and gender")
According to the bar chart by sex, we can know that the majority of people in need of assistance who are homeless are women, indicating that homelessness is a problem that affects more women than men and is rising annually for all genders from 2017 to 2022. The trend is downward and more controlled in 2023.
# line plot for "Total Homelessness by Year and race"
race_plot <- race_clean |>
select(-location) |>
group_by(calendar_year,race) |>
summarise(total_homelessness = sum(experiencing_homelessness))
## `summarise()` has grouped output by 'calendar_year'. You can override using the
## `.groups` argument.
race_plot |>
mutate(text_label = str_c("Year: ", calendar_year, "\nRace: ", race)) |>
plot_ly(x = ~calendar_year, y = ~total_homelessness, type = "scatter", mode = "line", color = ~race, colors = "viridis", text = ~text_label, alpha = 0.8) |>
layout(
title = "Total Homelessness by Year and gender" ,
legend = list(
x = 1,
y = 0.5,
traceorder = "normal",
bgcolor = "white",
bordercolor = "white",
borderwidth = 0.5
))
# pie chart for "Percentage of Total Homeless by Race"
race_clean |>
group_by(race) |>
summarise(total_homelessness = sum(experiencing_homelessness)) |>
mutate(percentage = total_homelessness / sum(total_homelessness)) |>
plot_ly(labels = ~race, values = ~percentage, type = "pie", hole = 0.4) |>
layout(title = "Percentage of Total Homeless by Race")
Based on the percantage of total homeless by race, we can see that white people accounted for the largest percentage of homeless people receiving help at 55.1%, followed by Black, Afircan American or African, the next largest group at 29.3%. This suggests that there is a relationship between race and Number of people receiving homelessness services, and that there is a need to focus on these two groups of people.
Next, we employ hypothesis testing as a method to more accurately assess the significance of relationships between variables. Through hypothesis testing, we aim to rigorously determine whether observed associations or differences between variables are statistically significant, providing a robust means to infer the presence of genuine relationships in our data.
When data does not meet the assumption of normality and involves multiple groups, we can consider using a non-parametric method for analysis, such as the Kruskal-Wallis test. The Kruskal-Wallis test is a non-parametric test used to compare differences among three or more groups, and it is less restrictive in terms of assumptions about the distribution of the data.
\(H_0\): the distribution of Y is
the same across all groups.
\(H_1\): At least one group has a
different distribution.
If the test result is significant, it indicates that at least one group’s median is different. However, it does not specify which groups are significantly different from each other. In such cases, you might need to perform multiple comparisons or follow-up pairwise tests to identify specific group differences.
# 'data' with 'Y' (continuous) and 'Group' (categorical)
kruskal.test(experiencing_homelessness ~ age_group_public, data = age_clean)
##
## Kruskal-Wallis rank sum test
##
## data: experiencing_homelessness by age_group_public
## Kruskal-Wallis chi-squared = 402.28, df = 7, p-value < 2.2e-16
kruskal.test(experiencing_homelessness ~ gender, data = gender_clean)
##
## Kruskal-Wallis rank sum test
##
## data: experiencing_homelessness by gender
## Kruskal-Wallis chi-squared = 469.88, df = 5, p-value < 2.2e-16
kruskal.test(experiencing_homelessness ~ ethnicity, data = ethnicity_clean)
##
## Kruskal-Wallis rank sum test
##
## data: experiencing_homelessness by ethnicity
## Kruskal-Wallis chi-squared = 311.31, df = 2, p-value < 2.2e-16
kruskal.test(experiencing_homelessness ~ race, data = race_clean)
##
## Kruskal-Wallis rank sum test
##
## data: experiencing_homelessness by race
## Kruskal-Wallis chi-squared = 630.47, df = 6, p-value < 2.2e-16
If the p-value is less than chosen significance level (0.05), we reject the null hypothesis.
According to the results, the p-value of experiencing_homelessness by gender is greater than 0.05, which means the distribution of number of experiencing homelessness is the same across gender groups. However, all other tests’ p-value is smaller than 0.01, which means at least one group has a different distribution in the whole age groups, ethnicity groups and race groups.
While this dataset is rich in hospital encounter information, it seems to differ from the ‘demo’ datasets described earlier. The ‘demo’ datasets focus on broader statistics of people receiving homeless response services across various dimensions such as age, race, ethnicity, and gender, and are sourced from the Homelessness Data Integration System (HDIS) which compiles data from California’s Continuums of Care. In contrast, the provided dataset is more focused on hospital encounters of homeless individuals, offering a detailed view of healthcare utilization among this population. While this dataset is rich in hospital encounter information, it differs from the ‘demo’ datasets described earlier. In contrast, the provided dataset is more focused on hospital encounters of homeless individuals, offering a detailed view of healthcare utilization among this population.
2019-2020-homeless-ip-and-ed-by-facility contains 17
variables, some of which are listed below:
Licensed Bed Size: the hospital’s number of licensed
beds.
Homeless Indicator: indicates if the data is for Homeless
or Non-Homeless encounters.
Demographic Category: Age, Race, Sex, or (Expected)
Payer.
Encounters: Count of inpatient hospitalizations (i.e.,
discharges) or emergency department visits.
Total Hospital Encounters: Total inpatient hospitalizations
or emergency department visits per hospital.
library(tidyverse)
library(knitr)
homeless_ip<-read.csv("2019-2020-homeless-ip-and-ed-by-facility.csv")
homeless_data<-homeless_ip %>%
filter(HomelessIndicator == "Homeless")
Again, To begin with the analysis process, we summarized the counts
of Californian homeless people receiving appropriate health services
from 2019 to 2020 of the
2019-2020-homeless-ip-and-ed-by-facility.csv dataset.
EncounterType: whether receiving ED Visits or Inpatient
Hospitalizations. FacilityName :name of hospitals and
systems the hospitals belong to. Ownership: type of
ownership that hospitals belong to.
Urban_Rural: whether hospitals locate in urban or rural
areas.
LicensedBedSize: size of licensed beds per hospital.
PrimaryCareShortageArea: whether hospitals locate in
area with limited primary care.
MentalHealthShortageArea: whether hospitals locate in
area with limited mental health care.
homeless_data_for_summary =
homeless_data |>
filter(HomelessIndicator == "Homeless") |>
select(EncounterType, FacilityName, System, Ownership, Urban_Rural, LicensedBedSize, PrimaryCareShortageArea, MentalHealthShortageArea, Encounters)
homeless_data_for_summary |>
group_by(EncounterType) |>
summarize(Homelessness = sum(Encounters)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| EncounterType | Homelessness | Percent |
|---|---|---|
| ED Visits | 2633691 | 73.49042 |
| Inpatient Hospitalizations | 950029 | 26.50958 |
homeless_data_for_summary |>
group_by(FacilityName) |>
summarize(Homelessness = sum(Encounters)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100)
## # A tibble: 425 × 3
## FacilityName Homelessness Percent
## <chr> <int> <dbl>
## 1 AHMC Anaheim Regional Medical Center 6657 0.186
## 2 AHMC Seton Medical Center 4176 0.117
## 3 AHMC Seton Medical Center Coastside 20 0.000558
## 4 Adventist Health Bakersfield 8231 0.230
## 5 Adventist Health Clearlake 1572 0.0439
## 6 Adventist Health Delano 944 0.0263
## 7 Adventist Health Glendale 8072 0.225
## 8 Adventist Health Hanford 5212 0.145
## 9 Adventist Health Howard Memorial 872 0.0243
## 10 Adventist Health Lodi Memorial 8216 0.229
## # ℹ 415 more rows
homeless_data_for_summary |>
group_by(Ownership) |>
summarize(Homelessness = sum(Encounters)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| Ownership | Homelessness | Percent |
|---|---|---|
| Government | 839016 | 23.41187 |
| Investor | 730916 | 20.39545 |
| Non-Profit | 2013788 | 56.19267 |
homeless_data_for_summary |>
group_by(Urban_Rural) |>
summarize(Homelessness = sum(Encounters)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| Urban_Rural | Homelessness | Percent |
|---|---|---|
| Rural/Frontier | 170242 | 4.750427 |
| Urban | 3413478 | 95.249573 |
homeless_data_for_summary |>
group_by(LicensedBedSize) |>
summarize(Homelessness = sum(Encounters)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| LicensedBedSize | Homelessness | Percent |
|---|---|---|
| 1-99 | 208301 | 5.812424 |
| 100-199 | 744056 | 20.762113 |
| 200-299 | 782768 | 21.842331 |
| 300-399 | 814065 | 22.715642 |
| 400+ | 1034530 | 28.867490 |
homeless_data_for_summary |>
group_by(PrimaryCareShortageArea) |>
summarize(Homelessness = sum(Encounters)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| PrimaryCareShortageArea | Homelessness | Percent |
|---|---|---|
| No | 2846216 | 79.42071 |
| Yes | 737504 | 20.57929 |
homeless_data_for_summary |>
group_by(MentalHealthShortageArea) |>
summarize(Homelessness = sum(Encounters)) |>
mutate(Percent = (Homelessness / sum(Homelessness)) * 100) |> knitr::kable()
| MentalHealthShortageArea | Homelessness | Percent |
|---|---|---|
| No | 2619228 | 73.08685 |
| Yes | 964492 | 26.91315 |
combined_plot <- plot_ly(homeless_data, x = ~DemographicValue, y = ~Encounters,
type = 'bar', color = ~DemographicValue,
colors = 'viridis') %>%
add_bars(width = 1) %>%
layout(title = "Homeless Encounters by Demographic Group",
xaxis = list(title = "Demographic Value", tickangle = 45),
yaxis = list(title = "Number of Homeless Encounters"),
barmode = 'group')
combined_plot
This analysis provides a breakdown of homeless encounters by different demographic facets and indicates which groups have higher or lower counts of encounters. It suggests that middle-aged individuals, those covered by Medi-Cal, white individuals, and males have higher numbers of homeless encounters. These findings could point towards specific demographic groups that may require more focused services and interventions.
plot2 <- plot_ly(homeless_data, x = ~LicensedBedSize, y = ~Encounters,
type = 'bar', color = ~LicensedBedSize,
colors = 'viridis') %>%
layout(title = "Homeless Encounters by Bed Size",
xaxis = list(title = "Licensed Bed Size", tickangle = 45),
yaxis = list(title = "Number of Homeless Encounters"))
plot2
Among the variable Bed Size, the category of 400+ Licensed Bed Size shows a high number of encounters of homelessness as compared to other groups, indicating that larger hospitals may have a higher number of such encounters. This could be due to a larger capacity to serve more patients or a higher likelihood of being located in urban areas where homelessness rates may be higher. The second leading category is the 100-199 Licensed Bed Size which was relatively high, because hospitals with 100-199 beds might be specialized in services that are more frequently utilized by the homeless population, such as mental health or substance abuse treatment and these medium-sized hospitals could be strategically located in areas where the homeless population is higher.
plot3 <- plot_ly(homeless_data, x = ~Urban_Rural, y = ~Encounters,
type = 'bar', color = ~Urban_Rural,
colors = 'viridis') %>%
layout(title = "Homeless Encounters in Urban vs. Rural Areas",
xaxis = list(title = "Urban/Rural"),
yaxis = list(title = "Number of Homeless Encounters"))
plot3
This plot help us gain the understanding of the relationship between the number of homelessness encounters and rural/ urban settlement. It is evident that in urban areas there are many people who tend to be homeless due to various reasons such as poverty. Urban hospitals are often larger and have more comprehensive services, which might also contribute to the higher number of encounters. On the other hand, in rural areas less people tend to be homeless since life there is cheap and easily affordable. The more the population in a certain place the higher the chances of homelessness encounters.
plot4 <- plot_ly(homeless_data, x = ~Ownership, y = ~Percent,
type = 'bar', color = ~Ownership,
colors = 'viridis') %>%
layout(title = "Percentage of Homeless Encounters by Ownership Type",
xaxis = list(title = "Ownership"),
yaxis = list(title = "Percentage of Homeless Encounters"))
plot4
When comparing the percentage of homeless encounters by ownership the non-profit category showed the highest percentage in homeless encounters. Non-Profit hospitals may have more encounters with homeless individuals possibly due to their mission-driven approach, which may include providing care to underserved populations. Investor-owned hospitals, while having a higher percentage of encounters than government hospitals, may still be less than Non-Profit hospitals, potentially due to different operational goals and priorities. Government-owned hospitals having the lowest percentage could be a result of factors such as location, size, the scope of services offered, or specific governmental policies and funding for homeless services.